package com.cskaoyan.controller;

import com.cskaoyan.service.system.ConfigService;
import com.cskaoyan.vo.BaseRespVo;
import com.cskaoyan.vo.config.ConfigExpressVo;
import com.cskaoyan.vo.config.ConfigMallVo;
import com.cskaoyan.vo.config.ConfigOrderVo;
import com.cskaoyan.vo.config.ConfigWxVo;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * description:
 * author:houzhitao@139.com
 */
@RestController
@RequestMapping("admin/config")
public class ConfigController {

    @Autowired
    ConfigService configService;

    @RequestMapping("mall")
    // admin:config:mall:updateConfigs POST
    // admin:config:mall:list GET
    @RequiresPermissions("admin:config:mall:list")
    public BaseRespVo mallConfig(){
        ConfigMallVo configMallVo= configService.queryMallConfig();
        return BaseRespVo.ok(configMallVo);
    }

    @RequestMapping("express")
    // TODO:perm
    // admin:config:express:list GET
    // @RequiresPermissions("admin:config:express:updateConfigs")
    public BaseRespVo expressConfig(){
        ConfigExpressVo configExpressVo = configService.queryExpressConfig();
        return BaseRespVo.ok(configExpressVo);
    }

    @RequestMapping("order")
    // admin:config:order:updateConfigs post
    // admin:config:order:list get
    @RequiresPermissions("admin:config:order:list")
    public BaseRespVo orderConfig(){
        ConfigOrderVo configOrderVo  = configService.queryOrderConfig();
        return BaseRespVo.ok(configOrderVo);
    }

    @RequestMapping("wx")
    // admin:config:wx:updateConfigs POST
    @RequiresPermissions("admin:config:wx:list")
    public BaseRespVo wxConfig(){
        ConfigWxVo configWxVo = configService.queryWxConfig();
        return BaseRespVo.ok(configWxVo);
    }

}
